#include <cstdint>
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <istream>
using ll = int64_t;
#define sl static inline
const ll maxn = 18;
ll n,m,r,c;
ll a[maxn][maxn],dp[maxn][maxn],h[maxn],ans=1e9+7,lr[maxn][maxn],ud[maxn];

sl void solve(){
    printf("h[]= ");
    for(ll i=1;i<=r;i++){
        printf("%lld ",h[i]);
    }
    printf("\n");
    for(ll l=1;l<m;l++){
        for(ll l2=l+1;l2<=m;l2++){
            for(ll i=1;i<=r;i++){
                lr[l][l2]+=std::abs(a[h[i]][l]-a[h[i]][l2]);
            }
        }
    }
    for(ll l=1;l<=m;l++){
        for(ll i=2;i<=r;i++){
            ud[l]+=std::abs(a[h[i-1]][l]-a[h[i]][l]);
        }
    }
    
}
sl void dfs(ll start,ll depth){
    // printf("dfs start%lld, depth=%lld\n",start,depth);
    if(depth>r){
        solve();
        return;
    }
    for(ll i=start;i<=n-(r-depth);i++){
        h[depth]=i;
        dfs(i+1,depth+1);
    }
}

int main(){
    std::iostream::sync_with_stdio(false);
    std::cin.tie(nullptr);

    std::cin>>n>>m>>r>>c;
    for(ll i=1;i<=n;i++){
        for(ll j=1;j<=m;j++){
            std::cin>>a[i][j];
        }
    }
    dfs(1, 1);

}